package com.xoa.service.sysWords.impl;

import com.xoa.dao.sysWords.SysWordsMapper;
import com.xoa.model.sysWords.SysWords;
import com.xoa.service.sysWords.SysWordsService;
import com.xoa.util.ToJson;
import com.xoa.util.page.PageParams;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class SysWordsServiceImpl implements SysWordsService {

    @Resource
    private SysWordsMapper sysWordsMapper;

    /**
     * 创建作者:   朱新元
     * 创建日期:   2018年4月10日
     * 方法介绍:   添加敏感词汇
     * @param sysWords
     * @return
     */

    @Override
    public ToJson<SysWords> addSysWords(HttpServletRequest request, SysWords sysWords) {
        ToJson<SysWords> toJson = new ToJson<>(1,"err");
        try {
            HashMap<String,Object> map = new HashMap<>();
            map.put("sensitivewords",sysWords.getSensitiveWords());
            List<SysWords> list = sysWordsMapper.getSysWordsById(map);
            if(list != null&&list.size()>0){
                toJson.setMsg("当前词汇已添加");
                toJson.setFlag(1);
            }
            int a = sysWordsMapper.addwords(sysWords);
            if (a>0){
                toJson.setMsg("添加成功");
                toJson.setFlag(0);
            }else {
                toJson.setMsg("添加失败");
                toJson.setFlag(1);
            }

        }catch (Exception e){
            e.printStackTrace();
        }

        return toJson;
    }

    /**
     * 创建作者:   朱新元
     * 创建日期:   2018年4月10日
     * 方法介绍:   根据id删除词汇记录
     * @param id
     * @return
     */

    @Override
    public ToJson<SysWords> delSysWordsById(HttpServletRequest request, Integer id) {
        ToJson<SysWords> toJson = new ToJson<>(1,"err");
        try {
            if (id!=0){
                sysWordsMapper.delSysWordsById(id);
            }
            toJson.setMsg("删除成功");
            toJson.setFlag(0);
        }catch (Exception e){
            e.printStackTrace();
        }
        return toJson;
    }

    /**
     * 创建作者:   朱新元
     * 创建日期:   2018年4月10日
     * 方法介绍:   更新敏感词记录
     * @param sysWords
     * @return
     */

    @Override
    public ToJson<SysWords> updateSysWords(HttpServletRequest request, SysWords sysWords) {
        ToJson<SysWords> toJson = new ToJson<>(1,"err");
        try {
            int a = sysWordsMapper.updateSysWords(sysWords);
            if (a>0){
                toJson.setMsg("修改成功");
                toJson.setFlag(0);
            }else {
                toJson.setMsg("修改失败");
                toJson.setFlag(1);
            }

        }catch (Exception e){
            e.printStackTrace();
        }
        return toJson;
    }

    /**
     * 创建作者:   朱新元
     * 创建日期:   2018年4月10日
     * 方法介绍:   根据id获取记录
     * @param id
     * @return
     */
    @Override
    public ToJson<SysWords> getSysWordsInforById(HttpServletRequest request, Integer id) {
        ToJson<SysWords> toJson = new ToJson<>(1,"err");
        try {
            SysWords sysWords = sysWordsMapper.getSysWordsInforById(id);
            if (sysWords != null){
                toJson.setObject(sysWords);
                toJson.setMsg("ok");
            }else {
                toJson.setMsg("数据为空");
            }
            toJson.setFlag(0);
        }catch (Exception e){
            e.printStackTrace();
        }
        return toJson;
    }

    /**
     * 创建作者:   朱新元
     * 创建日期:   2018年4月10日
     * 方法介绍:   获取词汇列表
     * @param sysWords
     * @param page
     * @param pageSize
     * @return
     */

    @Override
    public ToJson<SysWords> getSysWords(Integer page, Integer pageSize, boolean useFlag, HttpServletRequest request, SysWords sysWords) {
        ToJson<SysWords> toJson = new ToJson<>(1,"err");
        try {
            Map<String,Object> map = new HashMap<>();
            PageParams pageParams = new PageParams();
            pageParams.setPage(page);
            pageParams.setPageSize(pageSize);
            pageParams.setUseFlag(useFlag);
            map.put("page",pageParams);
            map.put("sysWords",sysWords);
            List<SysWords> list = sysWordsMapper.getSysWords(map);
            if (list!=null && list.size()>0){
                toJson.setObject(list);
                toJson.setTotleNum(sysWordsMapper.countNum());
                toJson.setMsg("ok");
            }else {
                toJson.setMsg("数据为空");
            }
            toJson.setFlag(0);
        }catch (Exception e){
            e.printStackTrace();
        }
        return toJson;
    }
}
